﻿//using System;
//using System.Collections.Generic;
//using Microsoft.VisualStudio.TestTools.UnitTesting;
//using System.Windows;
//using Microsoft.WVB.Framework;
//using Microsoft.WVB.Silverlight.Infrastructure;

//namespace Microsoft.WVB.UnitTest.Client.ApplicationResources
//{
//    #region Test Services
//    interface ITest
//    {
//        string Hey();
//        uint Age { get; }
//    }
//    class ClassA : ITest
//    {
//        public string Hey()
//        {
//            return "Hey from ClassA";
//        }
//        public uint Age
//        {
//            get { return 42; }
//        }
//    }
//    class ClassB : ITest
//    {
//        public ClassB(uint age)
//        {
//            _age = age;
//        }
//        public string Hey()
//        {
//            return "Hey from ClassB";
//        }
//        private uint _age = 21;
//        public uint Age
//        {
//            get { return _age; }
//        }
//    }
//    #endregion    

//    [TestClass]
//    public class Framework_ApplicationResources
//    {
//        [TestInitialize]
//        public void Initialize()
//        {
//            Application.Current.Resources.Clear();
//        }
//        [TestCleanup]
//        public void Cleanup()
//        {
//            Application.Current.Resources.Clear();
//        }

//        [TestMethod]
//        public void TestMethodDIContainer()
//        {
//            Application.Current.Resources.Add("IoC.DIContainer", new DIContainer());
//            IDIContainer dic = Application.Current.Resources["IoC.DIContainer"] as IDIContainer;
//            Assert.IsNotNull(dic);
//        }
//        [TestMethod]
//        public void TestMethodMediator()
//        {
//            Application.Current.Resources.Add("IoC.Mediator", new Mediator());
//            IMediator mdt = Application.Current.Resources["IoC.Mediator"] as IMediator;
//            Assert.IsNotNull(mdt);
//        }
//        [TestMethod]
//        public void TestMethodDIContainerUseIt()
//        {
//            Application.Current.Resources.Add("IoC.DIContainer", new DIContainer());
//            IDIContainer dic = Application.Current.Resources["IoC.DIContainer"] as IDIContainer;
//            dic.Register<ITest>((container) => new ClassA());
//            ITest t = dic.GetCreate<ITest>();

//            IDIContainer dic2 = Application.Current.Resources["IoC.DIContainer"] as IDIContainer;
//            ITest t2 = dic2.Get<ITest>();

//            Assert.AreSame(t, t2);
//        }
//    }
//}